[INFO] fetching crate zksync_concurrency 0.13.0...
[INFO] fixing zksync_concurrency-0.13.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate zksync_concurrency 0.13.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate zksync_concurrency 0.13.0
[INFO] finished tweaking crates.io crate zksync_concurrency 0.13.0
[INFO] tweaked toml for crates.io crate zksync_concurrency 0.13.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate zksync_concurrency 0.13.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate zksync_concurrency 0.13.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9
[INFO] running `Command { std: "docker" "start" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling prometheus-client v0.23.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking dtoa v1.0.10
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]    Compiling vise-macros v0.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]     Checking elsa v1.11.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking time-core v0.1.4
[INFO] [stderr]     Checking num-conv v0.1.0
[INFO] [stderr]     Checking compile-fmt v0.1.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking vise v0.3.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking zksync_concurrency v0.13.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/net/tcp/testonly.rs:34:26
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut listener = addr.bind(false)?;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `listener` calls a custom destructor
[INFO] [stdout]     |             `listener` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `listener` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/scope/macros.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/net/tcp/testonly.rs:34:26
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut listener = addr.bind(false)?;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `listener` calls a custom destructor
[INFO] [stdout]     |             `listener` will be dropped later as of Edition 2024
[INFO] [stdout]  32 |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout]  33 |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `s2` calls a custom destructor
[INFO] [stdout]     |             `s2` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `listener` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/scope/mod.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout]  30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]  31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout]  32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout]  33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout]  34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]  35 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]  36 |       .await
[INFO] [stdout]     |        -----
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  37 |       .unwrap()
[INFO] [stdout]  38 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/ctx/rng.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout] 32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout] 33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout] 34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout] 35 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 36 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/mod.rs:297:15
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let state = guard.terminate_guard().state().clone();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `state` calls a custom destructor
[INFO] [stdout]     |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |         let root_task_result = root_task.join_raw().await;
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `root_task_result` calls a custom destructor
[INFO] [stdout]     |             `root_task_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 297 |         match state.take_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync/mod.rs:166:26
[INFO] [stdout]      |
[INFO] [stdout]  166 |         if let Some(v) = pred(&*changed(ctx, recv).await?) {
[INFO] [stdout]      |                          ^^^^^^^-------------------------^
[INFO] [stdout]      |                          |      |                  |
[INFO] [stdout]      |                          |      |                  this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                          |      |                  up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                          |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                          |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                          |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  169 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sync/mod.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         match ctx.wait(recv.recv()).await? {
[INFO] [stdout]     |               ---------------------------^
[INFO] [stdout]     |               |                     |
[INFO] [stdout]     |               |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               |                     up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 190 |                 ctx.canceled().await;
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 194 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ctx/clock.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |         *self.0.lock().unwrap().mono.borrow()
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this temporary value will be dropped at the end of the block
[INFO] [stdout]     |          a temporary with access to the borrow is created here ...
[INFO] [stdout] 113 |     }
[INFO] [stdout]     |     - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, time::Instant>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let x = *self.0.lock().unwrap().mono.borrow(); x
[INFO] [stdout]     |         +++++++                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 10 | |         s.cancel();
[INFO] [stdout] 11 | |         assert!(!ctx.is_active());
[INFO] [stdout] 12 | |         std::result::Result::Ok::<(), ()>(())
[INFO] [stdout] 13 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 14 |       .await
[INFO] [stdout] 15 |       .unwrap();
[INFO] [stdout]    |                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 10 | |         s.cancel();
[INFO] [stdout] 11 | |         assert!(!ctx.is_active());
[INFO] [stdout] 12 | |         std::result::Result::Ok::<(), ()>(())
[INFO] [stdout] 13 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 14 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 42 | |         s.spawn(async {
[INFO] [stdout] 43 | |             ctx.sleep_until(t).await.unwrap();
[INFO] [stdout] 44 | |             tracing::trace!("subtask terminating");
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |         std::result::Result::Ok(())
[INFO] [stdout] 50 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 51 |       .await;
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 56 | |         s.spawn(async {
[INFO] [stdout] 57 | |             assert!(ctx.sleep_until(t).await.is_err());
[INFO] [stdout] 58 | |             std::result::Result::Ok(())
[INFO] [stdout] ...  |
[INFO] [stdout] 61 | |         R::Err(1)
[INFO] [stdout] 62 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 63 |       .await;
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 42 | |         s.spawn(async {
[INFO] [stdout] 43 | |             ctx.sleep_until(t).await.unwrap();
[INFO] [stdout] 44 | |             tracing::trace!("subtask terminating");
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |         std::result::Result::Ok(())
[INFO] [stdout] 50 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 51 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 56 | |         s.spawn(async {
[INFO] [stdout] 57 | |             assert!(ctx.sleep_until(t).await.is_err());
[INFO] [stdout] 58 | |             std::result::Result::Ok(())
[INFO] [stdout] ...  |
[INFO] [stdout] 61 | |         R::Err(1)
[INFO] [stdout] 62 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 63 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 76 | |         s.cancel();
[INFO] [stdout] 77 | |         recv.recv(ctx).await
[INFO] [stdout] 78 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 79 |       .await;
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 76 | |         s.cancel();
[INFO] [stdout] 77 | |         recv.recv(ctx).await
[INFO] [stdout] 78 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 79 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 101 | |             s.spawn(async {
[INFO] [stdout] 102 | |                 // Drop permits after a delay.
[INFO] [stdout] 103 | |                 ctx.sleep(delay).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |             ctx::OrCanceled::Ok(())
[INFO] [stdout] 113 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 114 |           .await
[INFO] [stdout] 115 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 127 | |         let now = ctx.now();
[INFO] [stdout] 128 | |         s.spawn(async {
[INFO] [stdout] 129 | |             for _ in 0..n {
[INFO] [stdout] ...   |
[INFO] [stdout] 140 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 141 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout] 142 |       .await
[INFO] [stdout] 143 |       .unwrap();
[INFO] [stdout]     |                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 127 | |         let now = ctx.now();
[INFO] [stdout] 128 | |         s.spawn(async {
[INFO] [stdout] 129 | |             for _ in 0..n {
[INFO] [stdout] ...   |
[INFO] [stdout] 140 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 141 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout] 142 |       .await
[INFO] [stdout]     |        ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 101 | |             s.spawn(async {
[INFO] [stdout] 102 | |                 // Drop permits after a delay.
[INFO] [stdout] 103 | |                 ctx.sleep(delay).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |             ctx::OrCanceled::Ok(())
[INFO] [stdout] 113 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 114 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 33 | |             s.spawn_blocking(|| R::Err(7));
[INFO] [stdout] 34 | |             ctx.canceled().await;
[INFO] [stdout] 35 | |             s.spawn_blocking(|| R::Err(3));
[INFO] [stdout] 36 | |             Ok(())
[INFO] [stdout] 37 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 38 |           .await;
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 33 | |             s.spawn_blocking(|| R::Err(7));
[INFO] [stdout] 34 | |             ctx.canceled().await;
[INFO] [stdout] 35 | |             s.spawn_blocking(|| R::Err(3));
[INFO] [stdout] 36 | |             Ok(())
[INFO] [stdout] 37 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 38 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 49 | |             s.spawn_blocking(|| {
[INFO] [stdout] 50 | |                 scope::run_blocking!(ctx, move |ctx, s| {
[INFO] [stdout] 51 | |                     s.spawn_blocking(|| scope::run_blocking!(ctx, |_, _| { R::Err(8) }));
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |             Ok(())
[INFO] [stdout] 56 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 57 |           .await;
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 49 | |             s.spawn_blocking(|| {
[INFO] [stdout] 50 | |                 scope::run_blocking!(ctx, move |ctx, s| {
[INFO] [stdout] 51 | |                     s.spawn_blocking(|| scope::run_blocking!(ctx, |_, _| { R::Err(8) }));
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |             Ok(())
[INFO] [stdout] 56 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 57 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | /             scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 72 | |                 s.spawn_blocking(|| {
[INFO] [stdout] 73 | |                     ctx.canceled().block();
[INFO] [stdout] 74 | |                     R::Err(4)
[INFO] [stdout] 75 | |                 });
[INFO] [stdout] 76 | |                 Ok(())
[INFO] [stdout] 77 | |             })
[INFO] [stdout]    | |______________- in this macro invocation
[INFO] [stdout] 78 |               .await
[INFO] [stdout] 79 |           })
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 68 | |             s.cancel();
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |             .await
[INFO] [stdout] 79 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 80 |           .await;
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | /             scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 72 | |                 s.spawn_blocking(|| {
[INFO] [stdout] 73 | |                     ctx.canceled().block();
[INFO] [stdout] 74 | |                     R::Err(4)
[INFO] [stdout] 75 | |                 });
[INFO] [stdout] 76 | |                 Ok(())
[INFO] [stdout] 77 | |             })
[INFO] [stdout]    | |______________- in this macro invocation
[INFO] [stdout] 78 |               .await
[INFO] [stdout]    |                ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 68 | |             s.cancel();
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |             .await
[INFO] [stdout] 79 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 80 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:94:19
[INFO] [stdout]     |
[INFO] [stdout]  94 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  95 | |             s.spawn_bg_blocking(|| {
[INFO] [stdout]  96 | |                 ctx.canceled().block();
[INFO] [stdout]  97 | |                 s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |             Ok(())
[INFO] [stdout] 104 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 105 |           .await;
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:94:19
[INFO] [stdout]     |
[INFO] [stdout]  94 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  95 | |             s.spawn_bg_blocking(|| {
[INFO] [stdout]  96 | |                 ctx.canceled().block();
[INFO] [stdout]  97 | |                 s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |             Ok(())
[INFO] [stdout] 104 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 105 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 117 | |             assert_eq!(Ok(5), s.spawn(async { Ok(5) }).join(ctx).await);
[INFO] [stdout] 118 | |             assert_eq!(Ok(9), s.spawn_blocking(|| { Ok(9) }).join(ctx).await);
[INFO] [stdout] 119 | |             assert_eq!(
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             Ok(1)
[INFO] [stdout] 125 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 126 |           .await;
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 117 | |             assert_eq!(Ok(5), s.spawn(async { Ok(5) }).join(ctx).await);
[INFO] [stdout] 118 | |             assert_eq!(Ok(9), s.spawn_blocking(|| { Ok(9) }).join(ctx).await);
[INFO] [stdout] 119 | |             assert_eq!(
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             Ok(1)
[INFO] [stdout] 125 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 126 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 140 | |             s.spawn_blocking(|| {
[INFO] [stdout] 141 | |                 scope::run_blocking!(ctx, |_ctx, s| {
[INFO] [stdout] 142 | |                     s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |             R::Ok(())
[INFO] [stdout] 165 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 166 |           .await
[INFO] [stdout] 167 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 140 | |             s.spawn_blocking(|| {
[INFO] [stdout] 141 | |                 scope::run_blocking!(ctx, |_ctx, s| {
[INFO] [stdout] 142 | |                     s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |             R::Ok(())
[INFO] [stdout] 165 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 166 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |           $crate::scope::Scope::new($ctx).run_blocking($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |           let ctx = &ctx::test_root(&ctx::RealClock);
[INFO] [stdout]     |                      -------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 179 |           let a = a2;
[INFO] [stdout] 180 | /         scope::run_blocking!(ctx, |ctx, s| {
[INFO] [stdout] 181 | |             for _ in 0..N {
[INFO] [stdout] 182 | |                 s.spawn(async {
[INFO] [stdout] 183 | |                     ctx.canceled().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |             anyhow::Ok(())
[INFO] [stdout] 199 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 200 |       })
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run_blocking` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |           let ctx = &ctx::test_root(&ctx::RealClock);
[INFO] [stdout]     |                      -------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 213 |           let a = a2;
[INFO] [stdout] 214 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 215 | |             for _ in 0..N {
[INFO] [stdout] 216 | |                 s.spawn(async {
[INFO] [stdout] 217 | |                     ctx.canceled().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |             anyhow::Ok(())
[INFO] [stdout] 233 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 234 |           .await
[INFO] [stdout]     |            -----
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |       })
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/tests.rs:234:10
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let ctx = &ctx::test_root(&ctx::RealClock);
[INFO] [stdout]     |                    -------------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 234 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 235 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 215 | |             for _ in 0..N {
[INFO] [stdout] 216 | |                 s.spawn(async {
[INFO] [stdout] 217 | |                     ctx.canceled().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |             anyhow::Ok(())
[INFO] [stdout] 233 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 234 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let res: anyhow::Result<()> = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 246 | |             s.spawn::<()>(async {
[INFO] [stdout] 247 | |                 anyhow::bail!("simple error");
[INFO] [stdout] 248 | |             });
[INFO] [stdout] 249 | |             ctx.canceled().await;
[INFO] [stdout] 250 | |             panic!("overriding the error")
[INFO] [stdout] 251 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 252 |           .await;
[INFO] [stdout]     |            ------ now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let res: anyhow::Result<()> = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 246 | |             s.spawn::<()>(async {
[INFO] [stdout] 247 | |                 anyhow::bail!("simple error");
[INFO] [stdout] 248 | |             });
[INFO] [stdout] 249 | |             ctx.canceled().await;
[INFO] [stdout] 250 | |             panic!("overriding the error")
[INFO] [stdout] 251 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 252 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/mod.rs:338:15
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let state = guard.terminate_guard().state().clone();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `state` calls a custom destructor
[INFO] [stdout]     |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 333 |         let root_task_result = ctx::block_on(root_task.join_raw());
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `root_task_result` calls a custom destructor
[INFO] [stdout]     |             `root_task_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |         match state.take_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 348 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/prunable_mpsc/tests.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let res: Result<(), ctx::Canceled> = crate::scope::run!(&ctx, |ctx, s| async move {
[INFO] [stdout]    |  __________________________________________-
[INFO] [stdout] 30 | |         // Pre-send sets 0 and 1, 1000 values each.
[INFO] [stdout] 31 | |         // Set 0 is expected to be pruned and dropped.
[INFO] [stdout] 32 | |         let values = (0..2000).map(|i| ValueType(i / 1000, i % 1000));
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Ok(())
[INFO] [stdout] 73 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 74 |       .await;
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `crate::scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/prunable_mpsc/tests.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let res: Result<(), ctx::Canceled> = crate::scope::run!(&ctx, |ctx, s| async move {
[INFO] [stdout]    |  __________________________________________-
[INFO] [stdout] 30 | |         // Pre-send sets 0 and 1, 1000 values each.
[INFO] [stdout] 31 | |         // Set 0 is expected to be pruned and dropped.
[INFO] [stdout] 32 | |         let values = (0..2000).map(|i| ValueType(i / 1000, i % 1000));
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Ok(())
[INFO] [stdout] 73 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 74 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `crate::scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]    |  ________________________________________-
[INFO] [stdout] 19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 20 | |     }};
[INFO] [stdout]    | |     -
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]    |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/tests.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     scope::run!(ctx, |ctx, s| async move {
[INFO] [stdout] 21 | |         let (mut lock, lock_receiver) = ExclusiveLock::new("Hello".to_owned());
[INFO] [stdout] 22 | |         s.spawn(async move {
[INFO] [stdout] 23 | |             lock.push_str(", world");
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 32 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 33 |       .await
[INFO] [stdout] 34 |       .unwrap();
[INFO] [stdout]    |                - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> src/ctx/mod.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Drop for Inner {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/tests.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     scope::run!(ctx, |ctx, s| async move {
[INFO] [stdout] 21 | |         let (mut lock, lock_receiver) = ExclusiveLock::new("Hello".to_owned());
[INFO] [stdout] 22 | |         s.spawn(async move {
[INFO] [stdout] 23 | |             lock.push_str(", world");
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 32 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 33 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/net/tcp/testonly.rs:34:26
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut listener = addr.bind(false)?;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `listener` calls a custom destructor
[INFO] [stdout]     |             `listener` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `listener` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/net/tcp/testonly.rs:34:26
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut listener = addr.bind(false)?;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `listener` calls a custom destructor
[INFO] [stdout]     |             `listener` will be dropped later as of Edition 2024
[INFO] [stdout]  32 |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout]  33 |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `s2` calls a custom destructor
[INFO] [stdout]     |             `s2` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  35 |     })
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `listener` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  18 |       ($ctx:expr_2021, $f:expr_2021) => {{
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]  19 | |         $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     | |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  20 | |     }};
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____`__awaitee` calls a custom destructor
[INFO] [stdout]     |       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout]  30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]  31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout]  32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout]  33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout]  34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout]  35 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]  36 |       .await
[INFO] [stdout]     |        -----
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  37 |       .unwrap()
[INFO] [stdout]  38 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/io/poll_evented.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.08s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout] 32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout] 33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout] 34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout] 35 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 36 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: zksync_concurrency v0.13.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/mod.rs:297:15
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let state = guard.terminate_guard().state().clone();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `state` calls a custom destructor
[INFO] [stdout]     |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |         let root_task_result = root_task.join_raw().await;
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `root_task_result` calls a custom destructor
[INFO] [stdout]     |             `root_task_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 297 |         match state.take_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sync/mod.rs:166:26
[INFO] [stdout]      |
[INFO] [stdout]  166 |         if let Some(v) = pred(&*changed(ctx, recv).await?) {
[INFO] [stdout]      |                          ^^^^^^^-------------------------^
[INFO] [stdout]      |                          |      |                  |
[INFO] [stdout]      |                          |      |                  this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                          |      |                  up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                          |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                          |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                          |      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                          |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                          |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  169 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.13/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sync/mod.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         match ctx.wait(recv.recv()).await? {
[INFO] [stdout]     |               ---------------------------^
[INFO] [stdout]     |               |                     |
[INFO] [stdout]     |               |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               |                     up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 190 |                 ctx.canceled().await;
[INFO] [stdout]     |                 --------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 194 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ctx/clock.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |         *self.0.lock().unwrap().mono.borrow()
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this temporary value will be dropped at the end of the block
[INFO] [stdout]     |          a temporary with access to the borrow is created here ...
[INFO] [stdout] 113 |     }
[INFO] [stdout]     |     - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `tokio::sync::watch::Ref<'_, time::Instant>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let x = *self.0.lock().unwrap().mono.borrow(); x
[INFO] [stdout]     |         +++++++                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope/mod.rs:338:15
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let state = guard.terminate_guard().state().clone();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `state` calls a custom destructor
[INFO] [stdout]     |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 333 |         let root_task_result = ctx::block_on(root_task.join_raw());
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `root_task_result` calls a custom destructor
[INFO] [stdout]     |             `root_task_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |         match state.take_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 348 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `state` invokes this custom destructor
[INFO] [stdout]    --> src/ctx/mod.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking zksync_concurrency v0.13.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout] 32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout] 33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout] 34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout] 35 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 36 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zksync_concurrency` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/net/tcp/testonly.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 31 | |         let mut listener = addr.bind(false)?;
[INFO] [stdout] 32 | |         let s1 = s.spawn(async { connect(ctx, *addr).await.unwrap() });
[INFO] [stdout] 33 | |         let s2 = accept(ctx, &mut listener).await.unwrap()?;
[INFO] [stdout] 34 | |         Ok((s1.join(ctx).await.unwrap(), s2))
[INFO] [stdout] 35 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 36 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 10 | |         s.cancel();
[INFO] [stdout] 11 | |         assert!(!ctx.is_active());
[INFO] [stdout] 12 | |         std::result::Result::Ok::<(), ()>(())
[INFO] [stdout] 13 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 14 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 42 | |         s.spawn(async {
[INFO] [stdout] 43 | |             ctx.sleep_until(t).await.unwrap();
[INFO] [stdout] 44 | |             tracing::trace!("subtask terminating");
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |         std::result::Result::Ok(())
[INFO] [stdout] 50 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 51 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 56 | |         s.spawn(async {
[INFO] [stdout] 57 | |             assert!(ctx.sleep_until(t).await.is_err());
[INFO] [stdout] 58 | |             std::result::Result::Ok(())
[INFO] [stdout] ...  |
[INFO] [stdout] 61 | |         R::Err(1)
[INFO] [stdout] 62 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 63 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ctx/tests.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  _______________-
[INFO] [stdout] 76 | |         s.cancel();
[INFO] [stdout] 77 | |         recv.recv(ctx).await
[INFO] [stdout] 78 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 79 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 127 | |         let now = ctx.now();
[INFO] [stdout] 128 | |         s.spawn(async {
[INFO] [stdout] 129 | |             for _ in 0..n {
[INFO] [stdout] ...   |
[INFO] [stdout] 140 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 141 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout] 142 |       .await
[INFO] [stdout]     |        ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/limiter/tests.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 101 | |             s.spawn(async {
[INFO] [stdout] 102 | |                 // Drop permits after a delay.
[INFO] [stdout] 103 | |                 ctx.sleep(delay).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | |             ctx::OrCanceled::Ok(())
[INFO] [stdout] 113 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 114 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 33 | |             s.spawn_blocking(|| R::Err(7));
[INFO] [stdout] 34 | |             ctx.canceled().await;
[INFO] [stdout] 35 | |             s.spawn_blocking(|| R::Err(3));
[INFO] [stdout] 36 | |             Ok(())
[INFO] [stdout] 37 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 38 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 49 | |             s.spawn_blocking(|| {
[INFO] [stdout] 50 | |                 scope::run_blocking!(ctx, move |ctx, s| {
[INFO] [stdout] 51 | |                     s.spawn_blocking(|| scope::run_blocking!(ctx, |_, _| { R::Err(8) }));
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |             Ok(())
[INFO] [stdout] 56 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 57 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | /             scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 72 | |                 s.spawn_blocking(|| {
[INFO] [stdout] 73 | |                     ctx.canceled().block();
[INFO] [stdout] 74 | |                     R::Err(4)
[INFO] [stdout] 75 | |                 });
[INFO] [stdout] 76 | |                 Ok(())
[INFO] [stdout] 77 | |             })
[INFO] [stdout]    | |______________- in this macro invocation
[INFO] [stdout] 78 |               .await
[INFO] [stdout]    |                ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/scope/tests.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]    |  ___________________-
[INFO] [stdout] 68 | |             s.cancel();
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |             .await
[INFO] [stdout] 79 | |         })
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout] 80 |           .await;
[INFO] [stdout]    |            ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:94:19
[INFO] [stdout]     |
[INFO] [stdout]  94 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  95 | |             s.spawn_bg_blocking(|| {
[INFO] [stdout]  96 | |                 ctx.canceled().block();
[INFO] [stdout]  97 | |                 s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |             Ok(())
[INFO] [stdout] 104 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 105 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |           let res = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 117 | |             assert_eq!(Ok(5), s.spawn(async { Ok(5) }).join(ctx).await);
[INFO] [stdout] 118 | |             assert_eq!(Ok(9), s.spawn_blocking(|| { Ok(9) }).join(ctx).await);
[INFO] [stdout] 119 | |             assert_eq!(
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             Ok(1)
[INFO] [stdout] 125 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 126 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 140 | |             s.spawn_blocking(|| {
[INFO] [stdout] 141 | |                 scope::run_blocking!(ctx, |_ctx, s| {
[INFO] [stdout] 142 | |                     s.spawn_blocking(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |             R::Ok(())
[INFO] [stdout] 165 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 166 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | /         scope::run!(ctx, |ctx, s| async {
[INFO] [stdout] 215 | |             for _ in 0..N {
[INFO] [stdout] 216 | |                 s.spawn(async {
[INFO] [stdout] 217 | |                     ctx.canceled().await;
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |             anyhow::Ok(())
[INFO] [stdout] 233 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 234 |           .await
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/scope/macros.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]     |           |
[INFO] [stdout]     |           creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/scope/tests.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let res: anyhow::Result<()> = scope::run!(ctx, |ctx, s| async {
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 246 | |             s.spawn::<()>(async {
[INFO] [stdout] 247 | |                 anyhow::bail!("simple error");
[INFO] [stdout] 248 | |             });
[INFO] [stdout] 249 | |             ctx.canceled().await;
[INFO] [stdout] 250 | |             panic!("overriding the error")
[INFO] [stdout] 251 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 252 |           .await;
[INFO] [stdout]     |            ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/prunable_mpsc/tests.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let res: Result<(), ctx::Canceled> = crate::scope::run!(&ctx, |ctx, s| async move {
[INFO] [stdout]    |  __________________________________________-
[INFO] [stdout] 30 | |         // Pre-send sets 0 and 1, 1000 values each.
[INFO] [stdout] 31 | |         // Set 0 is expected to be pruned and dropped.
[INFO] [stdout] 32 | |         let values = (0..2000).map(|i| ValueType(i / 1000, i % 1000));
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Ok(())
[INFO] [stdout] 73 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 74 |       .await;
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `crate::scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/scope/macros.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |           $crate::scope::Scope::new($ctx).run($f)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       - temporary value is freed at the end of this statement
[INFO] [stdout]    |           |
[INFO] [stdout]    |           creates a temporary value which is freed while still in use
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/sync/tests.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     scope::run!(ctx, |ctx, s| async move {
[INFO] [stdout] 21 | |         let (mut lock, lock_receiver) = ExclusiveLock::new("Hello".to_owned());
[INFO] [stdout] 22 | |         s.spawn(async move {
[INFO] [stdout] 23 | |             lock.push_str(", world");
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |         ctx::OrCanceled::Ok(())
[INFO] [stdout] 32 | |     })
[INFO] [stdout]    | |______- in this macro invocation
[INFO] [stdout] 33 |       .await
[INFO] [stdout]    |        ----- borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `scope::run` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zksync_concurrency` (lib test) due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9", kill_on_drop: false }`
[INFO] [stdout] 56b2a8dd1cd03e7f472577a7c478be422ae63335d0b67d34a5752c2bab2247f9
